export default{
	//开启命名空间
	namespaced: true,
	
	//数据节点
	state:()=>({
		//没数据时返回一个空字符串
		address:JSON.parse(uni.getStorageSync('address') || '{}'),
		token: uni.getStorageSync('token') || '',
		//用户的信息对象
		userinfo: JSON.parse(uni.getStorageSync('userinfo') || '{}'),
		//重定向的object对象{ openType, from }
		redirectInfo: null
	}),
	//方法
	mutations:{
		//更新收货地址
		updateAddress(state,address){
			//state.address等于updateAddress(state,address)中传过来的address
			state.address = address
			 // 2. 通过 this.commit() 方法，调用 m_user 模块下的 saveAddressToStorage 方法将 address 对象持久化存储到本地
			this.commit('m_user/saveAddressToStorage')
		},
		 // 1. 定义将 address 持久化存储到本地 mutations 方法
		    saveAddressToStorage(state) {
		      uni.setStorageSync('address', JSON.stringify(state.address))
		    },
			updateUserInfo(state, userinfo){
				state.userinfo = userinfo
				this.commit('m_user/saveUserInfoToStorage')
			},
			saveUserInfoToStorage(state){
				uni.setStorageSync('userinfo',JSON.stringify(state.userinfo))
			},
			updateToken(state,token){
				state.token = token
				this.commit('m_user/saveTokenToStorage')
			},
			saveTokenToStorage(state){
				uni.setStorageSync('token',state.token)
			},
			updateRedirectInfo(state,info){
				state.redirectInfo = info
				console.log(state.redirectInfo);
			}
	},
	getters:{
		//收获地址
		addstr(state){
			//address.provinceName为空返回空字符串
			if(!state.address.provinceName) return ''
			//不为空时
			return state.address.provinceName + state.address.cityName +state.address.countyName+state.address.detailInfo
		}
	}
}